package net.hn.hnms.biz.project.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author 刘昊
 * @date 2024-03-15 13:40
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("施工进度")
public class ConstructionProgressReq extends BaseReq implements Serializable {

    @ApiModelProperty(value = "id")
    private String progressId;

    @ApiModelProperty(value = "项目id")
    @NotBlank(message = "请检查项目信息是否存在!")
    private String projectId;

    @ApiModelProperty(value = "项目名称")
    @NotBlank(message = "projectName项目名称不能为空!")
    private String projectName;

    @ApiModelProperty(value = "施工单位")
    @NotBlank(message = "constructionUnit施工单位不能为空!")
    private String constructionUnit;

    @ApiModelProperty(value = "施工报告")
    @NotBlank(message = "report不能为空!")
    private String report;

    @ApiModelProperty(value = "报告地址")
    @NotBlank(message = "reportPath不能为空!")
    private String reportPath;

    @ApiModelProperty(value = "报告类型")
    @NotBlank(message = "reportType不能为空!")
    private String reportType;

    @ApiModelProperty(value = "报告时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date reportTime;

    @ApiModelProperty(value = "施工计划id")
    @NotBlank(message = "constructionId不能为空!")
    private String constructionId;


    @ApiModelProperty(value = "项目IDList")
    private List<String> projectIds;

    @ApiModelProperty(value = "公司编码")
    @NotBlank(message = "companyCode不能为空!")
    private String companyCode;

    @ApiModelProperty(value = "煤矿编码")
    private String mineCode ;
}
